package com.yonyou.cyxdms.basedata.service.service.smstemplate;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yonyou.cyx.framework.service.base.ICommonService;
import com.yonyou.cyxdms.basedata.client.domains.vo.SmsTemplateVO;
import com.yonyou.cyxdms.basedata.service.dto.smstemplate.SmsTemplateDTO;
import com.yonyou.cyxdms.basedata.service.dto.smstemplate.SmsTemplatePageDTO;
import com.yonyou.cyxdms.basedata.service.entity.smstemplate.SmsTemplatePO;

import java.util.List;

/**
 * <p>
 * 短信模板 服务类
 * </p>
 *
 * @author dengqiang
 * @since 2019-09-19
 */
public interface SmsTemplateService extends ICommonService<SmsTemplateDTO, SmsTemplatePO, Long> {

    /**
     * 短信模板分页查询
     *
     * @param page
     * @param vsStockAppDTO
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.yonyou.cyxdms.basedata.service.vo.smstemplate.SmsTemplateVO>
     * @author dengqinag
     * @since 2019/9/19
     */
    IPage<SmsTemplateVO> qrySmsTemplatePage(Page<SmsTemplateVO> page, SmsTemplatePageDTO vsStockAppDTO);

    /**
     * 添加短信模板信息
     *
     * @param stDto
     * @return java.lang.Long
     * @author dengqiang
     * @since 2019/9/19
     */
    Long addSmsTemplate(SmsTemplateDTO stDto);


    /**
     * 查询默认级别是否重复
     *
     * @param careTemplateType
     * @param isDefault
     * @return void
     * @author dengqiang
     * @since 2019/9/19
     */
    public void searchBySmsTemplateDefault(String careTemplateType,Integer isDefault);

    /**
     * 查询默认级别是否重复
     *
     * @param careTemplateType
     * @param isDefault
     * @return void
     * @author dengqiang
     * @since 2019/9/19
     */
    public void searchBySmsTemplateDefault(String careTemplateType,Integer isDefault,Long smsTemplateId);

    /**
     * 给模板信息设置属性
     *
     * @param stPo
     * @param stDto
     * @return void
     * @author dengqiang
     * @since 2019/9/19
     */
    public void setSmsTemplate(SmsTemplatePO stPo, SmsTemplateDTO stDto);
    /**
     * 修改短信模板信息
     *
     * @param stDto
     * @return java.lang.Long
     * @author dengqiang
     * @since 2019/9/19
     */
    Long updateSmsTemplate(SmsTemplateDTO stDto);

    /**
     * 根据id查询短信模板
     *
     * @param smsTemplateId
     * @return com.yonyou.cyxdms.basedata.service.vo.smstemplate.SmsTemplateVO
     * @author dengqiang
     * @since 2019/9/19
     */
    SmsTemplateVO getSmsTemplateById(Long smsTemplateId);

    /**
     * 短信模板删除
     *
     * @param smsTemplateId
     * @return void
     * @author dengqiang
     * @since 2019/9/19
     */
    void deleteSmsTemplate(Long smsTemplateId);

    /**
     * 根据模板类型查询模板信息
     *
     * @param smsTemplateType
     * @return com.yonyou.cyxdms.basedata.service.vo.smstemplate.SmsTemplateVO
     * @author dengqiang
     * @since 2019/9/19
     */
    List<SmsTemplateVO> getBySmsTemplateType(String smsTemplateType);
}
